/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interface;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

/**
 * Canon placé au centre du monde, en bas. Déplacé à l'aide de la souris.
 * Tire des projectiles.
 * @author Laurent/Pascal
 */
public class Canon extends ElementDuJeu
{

    int orientationX, orientationY ;
    int xDebutCanon = 550;
    int yDebutCanon = 756;

    

    /**
     * Constructeur du canon.
     * @param prototype True si le mode prototype est activé.
     */
    public Canon(boolean prototype)
    {
        this.prototype = prototype;
        setLocation(0, 0);
        setSize(1024, 756);
        
    }

    /**
     * Dessine le canon, composé d'une base ovale et d'une ligne épaisse. 
     * Bleu (prototype) ou blanc.
     * @param g Permet de dessiner.
     */
    @Override
    public void paintComponent(Graphics g)
    {
        if (prototype){
        g.setColor(Color.blue);}
        else{
        g.setColor(Color.white);}
        
        g.fillOval(500,700, 100, 100);
        Graphics2D g2d = (Graphics2D) g;
        g2d.setStroke(new BasicStroke(10));
        g2d.drawLine(xDebutCanon, yDebutCanon, orientationX, orientationY);
    }

    /**
     * Oriente le canon selon la position de la souris, avec les données calculées dans
     * le monde.
     * @param newX Position du bout du canon en x.
     * @param newY Position du bout du canon en y.
     */
    @Override
    public void bouger(double newX, double newY)
    {
        orientationX = (int)newX;
        orientationY = (int)newY;
        repaint();
    }

}
